package com.weiqiao.mall.service;

import com.weiqiao.mall.domain.CommodityEntity;
import org.bson.conversions.Bson;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 商品管理业务层
 */
public interface ICommodityService {

    /**
     * 商品管理--查询商品
     * @param filter
     * @return
     */
    List<CommodityEntity> findCommoditys(int companyId, Bson filter);

    /**
     * 商品管理--统计商品数量
     *
     * @param bson 查询条件
     */
    int countCommodity(int companyId, Bson bson);

    /**
     * 商品管理--更新单个商品信息
     *
     * @param filter 查询条件
     * @param json 更新内容
     */
    boolean updateCommodityByJson(int companyId, Bson filter, String json);

    /**
     * 通过id查询
     * @param company_id
     * @return
     */
    CommodityEntity findCommodityById(String commodity_id, int company_id);


    /**
     * 根据条件获取内容，并且限制输出条数，返回商品id
     * @param filter 条件
     * @param limit 限制输出条数
     * @return
     */
    List<String> getCommodityIdAndLimit(int companyId, Bson filter, int limit);


    /**
     * 商品管理--查询商品
     * @param request
     * @param pageable
     * @return
     */
    Map findCommoditys(HttpServletRequest request, Pageable pageable);


    /**
     * 批量修改商品封面角标图或详情顶部图
     * @param company_id
     * @param commodity_ids
     * @param cover_tag_img
     * @param detail_tag_img
     * @return
     */
    boolean updateTagImage(int company_id, List<String> commodity_ids, String cover_tag_img, String detail_tag_img);
}
